home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 June / SGI Freeware 1998 June.iso / dist / fw_ATxgopher.idb / usr / freeware / src / xgopher.1.3 / itemInfo.c.z / itemInfo.c
C/C++ Source or Header  |  1998-01-21  |  3KB  |  85 lines

  1. /* itemInfo.c
  2.    collect for display information about a gopher item or directory */
  3.  
  4.      /*---------------------------------------------------------------*/
  5.      /* Xgopher        version 1.3     08 April 1993                  */
  6.      /*                version 1.2     20 November 1992               */
  7.      /*                version 1.1     20 April 1992                  */
  8.      /*                version 1.0     04 March 1992                  */
  9.      /* X window system client for the University of Minnesota        */
  10.      /*                                Internet Gopher System.        */
  11.      /* Allan Tuchman, University of Illinois at Urbana-Champaign     */
  12.      /*                Computing and Communications Services Office   */
  13.      /* Copyright 1992, 1993 by                                       */
  14.      /*           the Board of Trustees of the University of Illinois */
  15.      /* Permission is granted to freely copy and redistribute this    */
  16.      /* software with the copyright notice intact.                    */
  17.      /*---------------------------------------------------------------*/
  18.  
  19.  
  20. #include <stdio.h>
  21.  
  22. #include "gopher.h"
  23. #include "osdep.h"
  24.  
  25.  
  26. /* showItemInfo
  27.    Show information associated with a gopher item (or directory) */
  28.  
  29. char *
  30. getItemInfoText(gi, level)
  31. gopherItemP    gi;
  32. int        level;
  33. {
  34.     static char    infoString[2048];
  35.     char    temp[1024];
  36.     char    *dispString;
  37.  
  38.     *infoString = '\0';
  39.  
  40.     sprintf(temp, "          Gopher Item Information\n");
  41.     strcat(infoString, temp);
  42.     sprintf(temp, "          -----------------------\n\n");
  43.     strcat(infoString, temp);
  44.  
  45.     sprintf(temp, "Name:  \'%s\'\n", USER_STRING(gi));
  46.     strcat(infoString, temp);
  47.  
  48.     sprintf(temp, "Type:  %c (%s)\n",
  49.                 gi->type, gi->sc->typeName);
  50.     strcat(infoString, temp);
  51.  
  52.     sprintf(temp, "\n");
  53.     strcat(infoString, temp);
  54.  
  55.     sprintf(temp, "Host:  \'%s\'\n", gi->host);
  56.     strcat(infoString, temp);
  57.     sprintf(temp, "       (Computer where information is maintained)\n");
  58.     strcat(infoString, temp);
  59.  
  60.     sprintf(temp, "Port:  %d\n", gi->port);
  61.     strcat(infoString, temp);
  62.     sprintf(temp, "       (Network connection port)\n");
  63.     strcat(infoString, temp);
  64.  
  65.     sprintf(temp, "\n");
  66.     strcat(infoString, temp);
  67.  
  68.     sprintf(temp, "Path:  ");
  69.     strcat(infoString, temp);
  70.     sprintf(temp, "\'%s\'\n", vStringValue(&(gi->selector)));
  71.     strcat(infoString, temp);
  72.     sprintf(temp, "       (Tells host where to find the information)");
  73.     strcat(infoString, temp);
  74.  
  75.     /* Copy to dynamic string for display.  The dynamic string will
  76.        be freed when the text display is done. */
  77.  
  78.     if ((dispString =
  79.         (char *) malloc(1 + sizeof(char) * strlen(infoString))) != NULL) {
  80.         strcpy(dispString, infoString);
  81.     }
  82.  
  83.     return dispString;
  84. }
  85.